Skip to content

Splitting sdk-test out of Test Suite - #5854

Open
JasonAtClockwork wants to merge 16 commits into
masterfrom
jlarabie/shard-test-suite
Open

Splitting sdk-test out of Test Suite#5854
JasonAtClockwork wants to merge 16 commits into
masterfrom
jlarabie/shard-test-suite

Conversation

@JasonAtClockwork

@JasonAtClockwork JasonAtClockwork commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

Description of Changes

First step to #5839 splitting out the SDK tests and partition:

  • Added cargo ci sdk-tests command for local SDK test execution
  • Split Rust SDK tests out of the main Test Suite job
  • Added a build job that precompiles SDK modules and prepares reusable client artifacts
  • Created separate native and browser nextest archives and client artifacts
  • Sharded native and browser SDK tests into two partitions each

API and ABI breaking changes

No breaking changes - only tests

Rollback safety impact

n/a

Expected complexity level and risk

2 - Splitting up requires CI work and mucking with test setup for preparing clients

Testing

  • Manual test of each partition
  • Full local run of sdk-test to confirm no major issues
  • Utilizing CI to fully test

Comment thread .github/workflows/ci.yml Outdated

@joshua-spacetime joshua-spacetime left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm happy with the current structure. The build times are still rather high for the sdk artifacts, however I think this can be improved with an up-to-date runner image with warmed cache. I also think there are caching improvements we can make for the c++ sdk and modules by baking those compilation units into the runner image. So ultimately I think we can reduce those build times substantially with infra-side changes.

Comment thread .github/workflows/ci.yml
SDK_TEST_CLIENT_DIR: sdk-test-clients/native
steps: &sdk-test-partition-steps
- *set-cargo-target-dir
- *configure-sccache

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do these tests compile anything now?

Comment thread .github/workflows/ci.yml
Comment on lines -650 to -653
INSTALLED_WASM_BINDGEN_VERSION="$(wasm-bindgen --version 2>/dev/null | awk '{print $2}' || true)"
if [ "${INSTALLED_WASM_BINDGEN_VERSION}" != "${REQUIRED_WASM_BINDGEN_VERSION}" ]; then
cargo install --locked --force wasm-bindgen-cli --version "${REQUIRED_WASM_BINDGEN_VERSION}"
fi

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It looks like this block was removed entirely. Was that intentional?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants